package com.adms.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CircularExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CircularExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCircularIdIsNull() {
            addCriterion("circular.circular_id is null");
            return (Criteria) this;
        }

        public Criteria andCircularIdIsNotNull() {
            addCriterion("circular.circular_id is not null");
            return (Criteria) this;
        }

        public Criteria andCircularIdEqualTo(Integer value) {
            addCriterion("circular.circular_id =", value, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdNotEqualTo(Integer value) {
            addCriterion("circular.circular_id <>", value, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdGreaterThan(Integer value) {
            addCriterion("circular.circular_id >", value, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("circular.circular_id >=", value, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdLessThan(Integer value) {
            addCriterion("circular.circular_id <", value, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdLessThanOrEqualTo(Integer value) {
            addCriterion("circular.circular_id <=", value, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdIn(List<Integer> values) {
            addCriterion("circular.circular_id in", values, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdNotIn(List<Integer> values) {
            addCriterion("circular.circular_id not in", values, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdBetween(Integer value1, Integer value2) {
            addCriterion("circular.circular_id between", value1, value2, "circularId");
            return (Criteria) this;
        }

        public Criteria andCircularIdNotBetween(Integer value1, Integer value2) {
            addCriterion("circular.circular_id not between", value1, value2, "circularId");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("circular.user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("circular.user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("circular.user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("circular.user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("circular.user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("circular.user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("circular.user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("circular.user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("circular.user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("circular.user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("circular.user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("circular.user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNull() {
            addCriterion("circular.username is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("circular.username is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("circular.username =", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotEqualTo(String value) {
            addCriterion("circular.username <>", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("circular.username >", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("circular.username >=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThan(String value) {
            addCriterion("circular.username <", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThanOrEqualTo(String value) {
            addCriterion("circular.username <=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLike(String value) {
            addCriterion("circular.username like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotLike(String value) {
            addCriterion("circular.username not like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameIn(List<String> values) {
            addCriterion("circular.username in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotIn(List<String> values) {
            addCriterion("circular.username not in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameBetween(String value1, String value2) {
            addCriterion("circular.username between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotBetween(String value1, String value2) {
            addCriterion("circular.username not between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("circular.title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("circular.title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("circular.title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("circular.title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("circular.title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("circular.title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("circular.title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("circular.title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("circular.title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("circular.title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("circular.title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("circular.title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("circular.title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("circular.title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("circular.type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("circular.type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("circular.type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("circular.type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("circular.type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("circular.type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("circular.type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("circular.type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("circular.type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("circular.type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("circular.type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("circular.type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andLevelIsNull() {
            addCriterion("circular.level is null");
            return (Criteria) this;
        }

        public Criteria andLevelIsNotNull() {
            addCriterion("circular.level is not null");
            return (Criteria) this;
        }

        public Criteria andLevelEqualTo(Integer value) {
            addCriterion("circular.level =", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotEqualTo(Integer value) {
            addCriterion("circular.level <>", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThan(Integer value) {
            addCriterion("circular.level >", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("circular.level >=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThan(Integer value) {
            addCriterion("circular.level <", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThanOrEqualTo(Integer value) {
            addCriterion("circular.level <=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelIn(List<Integer> values) {
            addCriterion("circular.level in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotIn(List<Integer> values) {
            addCriterion("circular.level not in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelBetween(Integer value1, Integer value2) {
            addCriterion("circular.level between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("circular.level not between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("circular.content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("circular.content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("circular.content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("circular.content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("circular.content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("circular.content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("circular.content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("circular.content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("circular.content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("circular.content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("circular.content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("circular.content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("circular.content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("circular.content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andPdfsIsNull() {
            addCriterion("circular.pdfs is null");
            return (Criteria) this;
        }

        public Criteria andPdfsIsNotNull() {
            addCriterion("circular.pdfs is not null");
            return (Criteria) this;
        }

        public Criteria andPdfsEqualTo(String value) {
            addCriterion("circular.pdfs =", value, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsNotEqualTo(String value) {
            addCriterion("circular.pdfs <>", value, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsGreaterThan(String value) {
            addCriterion("circular.pdfs >", value, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsGreaterThanOrEqualTo(String value) {
            addCriterion("circular.pdfs >=", value, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsLessThan(String value) {
            addCriterion("circular.pdfs <", value, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsLessThanOrEqualTo(String value) {
            addCriterion("circular.pdfs <=", value, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsLike(String value) {
            addCriterion("circular.pdfs like", value, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsNotLike(String value) {
            addCriterion("circular.pdfs not like", value, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsIn(List<String> values) {
            addCriterion("circular.pdfs in", values, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsNotIn(List<String> values) {
            addCriterion("circular.pdfs not in", values, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsBetween(String value1, String value2) {
            addCriterion("circular.pdfs between", value1, value2, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPdfsNotBetween(String value1, String value2) {
            addCriterion("circular.pdfs not between", value1, value2, "pdfs");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNull() {
            addCriterion("circular.publish_time is null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNotNull() {
            addCriterion("circular.publish_time is not null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeEqualTo(Date value) {
            addCriterion("circular.publish_time =", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotEqualTo(Date value) {
            addCriterion("circular.publish_time <>", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThan(Date value) {
            addCriterion("circular.publish_time >", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("circular.publish_time >=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThan(Date value) {
            addCriterion("circular.publish_time <", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThanOrEqualTo(Date value) {
            addCriterion("circular.publish_time <=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIn(List<Date> values) {
            addCriterion("circular.publish_time in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotIn(List<Date> values) {
            addCriterion("circular.publish_time not in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeBetween(Date value1, Date value2) {
            addCriterion("circular.publish_time between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotBetween(Date value1, Date value2) {
            addCriterion("circular.publish_time not between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("circular.create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("circular.create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("circular.create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("circular.create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("circular.create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("circular.create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("circular.create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("circular.create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("circular.create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("circular.create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("circular.create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("circular.create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateOrgIsNull() {
            addCriterion("circular.create_org is null");
            return (Criteria) this;
        }

        public Criteria andCreateOrgIsNotNull() {
            addCriterion("circular.create_org is not null");
            return (Criteria) this;
        }

        public Criteria andCreateOrgEqualTo(String value) {
            addCriterion("circular.create_org =", value, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgNotEqualTo(String value) {
            addCriterion("circular.create_org <>", value, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgGreaterThan(String value) {
            addCriterion("circular.create_org >", value, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgGreaterThanOrEqualTo(String value) {
            addCriterion("circular.create_org >=", value, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgLessThan(String value) {
            addCriterion("circular.create_org <", value, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgLessThanOrEqualTo(String value) {
            addCriterion("circular.create_org <=", value, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgLike(String value) {
            addCriterion("circular.create_org like", value, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgNotLike(String value) {
            addCriterion("circular.create_org not like", value, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgIn(List<String> values) {
            addCriterion("circular.create_org in", values, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgNotIn(List<String> values) {
            addCriterion("circular.create_org not in", values, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgBetween(String value1, String value2) {
            addCriterion("circular.create_org between", value1, value2, "createOrg");
            return (Criteria) this;
        }

        public Criteria andCreateOrgNotBetween(String value1, String value2) {
            addCriterion("circular.create_org not between", value1, value2, "createOrg");
            return (Criteria) this;
        }

        public Criteria andAuthRolesIsNull() {
            addCriterion("circular.auth_roles is null");
            return (Criteria) this;
        }

        public Criteria andAuthRolesIsNotNull() {
            addCriterion("circular.auth_roles is not null");
            return (Criteria) this;
        }

        public Criteria andAuthRolesEqualTo(String value) {
            addCriterion("circular.auth_roles =", value, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesNotEqualTo(String value) {
            addCriterion("circular.auth_roles <>", value, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesGreaterThan(String value) {
            addCriterion("circular.auth_roles >", value, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesGreaterThanOrEqualTo(String value) {
            addCriterion("circular.auth_roles >=", value, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesLessThan(String value) {
            addCriterion("circular.auth_roles <", value, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesLessThanOrEqualTo(String value) {
            addCriterion("circular.auth_roles <=", value, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesLike(String value) {
            addCriterion("circular.auth_roles like", value, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesNotLike(String value) {
            addCriterion("circular.auth_roles not like", value, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesIn(List<String> values) {
            addCriterion("circular.auth_roles in", values, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesNotIn(List<String> values) {
            addCriterion("circular.auth_roles not in", values, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesBetween(String value1, String value2) {
            addCriterion("circular.auth_roles between", value1, value2, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthRolesNotBetween(String value1, String value2) {
            addCriterion("circular.auth_roles not between", value1, value2, "authRoles");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsIsNull() {
            addCriterion("circular.auth_user_ids is null");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsIsNotNull() {
            addCriterion("circular.auth_user_ids is not null");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsEqualTo(String value) {
            addCriterion("circular.auth_user_ids =", value, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsNotEqualTo(String value) {
            addCriterion("circular.auth_user_ids <>", value, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsGreaterThan(String value) {
            addCriterion("circular.auth_user_ids >", value, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsGreaterThanOrEqualTo(String value) {
            addCriterion("circular.auth_user_ids >=", value, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsLessThan(String value) {
            addCriterion("circular.auth_user_ids <", value, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsLessThanOrEqualTo(String value) {
            addCriterion("circular.auth_user_ids <=", value, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsLike(String value) {
            addCriterion("circular.auth_user_ids like", value, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsNotLike(String value) {
            addCriterion("circular.auth_user_ids not like", value, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsIn(List<String> values) {
            addCriterion("circular.auth_user_ids in", values, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsNotIn(List<String> values) {
            addCriterion("circular.auth_user_ids not in", values, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsBetween(String value1, String value2) {
            addCriterion("circular.auth_user_ids between", value1, value2, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andAuthUserIdsNotBetween(String value1, String value2) {
            addCriterion("circular.auth_user_ids not between", value1, value2, "authUserIds");
            return (Criteria) this;
        }

        public Criteria andFileTypeIsNull() {
            addCriterion("circular.file_type is null");
            return (Criteria) this;
        }

        public Criteria andFileTypeIsNotNull() {
            addCriterion("circular.file_type is not null");
            return (Criteria) this;
        }

        public Criteria andFileTypeEqualTo(Integer value) {
            addCriterion("circular.file_type =", value, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeNotEqualTo(Integer value) {
            addCriterion("circular.file_type <>", value, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeGreaterThan(Integer value) {
            addCriterion("circular.file_type >", value, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("circular.file_type >=", value, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeLessThan(Integer value) {
            addCriterion("circular.file_type <", value, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeLessThanOrEqualTo(Integer value) {
            addCriterion("circular.file_type <=", value, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeIn(List<Integer> values) {
            addCriterion("circular.file_type in", values, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeNotIn(List<Integer> values) {
            addCriterion("circular.file_type not in", values, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeBetween(Integer value1, Integer value2) {
            addCriterion("circular.file_type between", value1, value2, "fileType");
            return (Criteria) this;
        }

        public Criteria andFileTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("circular.file_type not between", value1, value2, "fileType");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeIsNull() {
            addCriterion("circular.message_notice is null");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeIsNotNull() {
            addCriterion("circular.message_notice is not null");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeEqualTo(Boolean value) {
            addCriterion("circular.message_notice =", value, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeNotEqualTo(Boolean value) {
            addCriterion("circular.message_notice <>", value, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeGreaterThan(Boolean value) {
            addCriterion("circular.message_notice >", value, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeGreaterThanOrEqualTo(Boolean value) {
            addCriterion("circular.message_notice >=", value, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeLessThan(Boolean value) {
            addCriterion("circular.message_notice <", value, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeLessThanOrEqualTo(Boolean value) {
            addCriterion("circular.message_notice <=", value, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeIn(List<Boolean> values) {
            addCriterion("circular.message_notice in", values, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeNotIn(List<Boolean> values) {
            addCriterion("circular.message_notice not in", values, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeBetween(Boolean value1, Boolean value2) {
            addCriterion("circular.message_notice between", value1, value2, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andMessageNoticeNotBetween(Boolean value1, Boolean value2) {
            addCriterion("circular.message_notice not between", value1, value2, "messageNotice");
            return (Criteria) this;
        }

        public Criteria andSignsIsNull() {
            addCriterion("circular.signs is null");
            return (Criteria) this;
        }

        public Criteria andSignsIsNotNull() {
            addCriterion("circular.signs is not null");
            return (Criteria) this;
        }

        public Criteria andSignsEqualTo(String value) {
            addCriterion("circular.signs =", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsNotEqualTo(String value) {
            addCriterion("circular.signs <>", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsGreaterThan(String value) {
            addCriterion("circular.signs >", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsGreaterThanOrEqualTo(String value) {
            addCriterion("circular.signs >=", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsLessThan(String value) {
            addCriterion("circular.signs <", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsLessThanOrEqualTo(String value) {
            addCriterion("circular.signs <=", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsLike(String value) {
            addCriterion("circular.signs like", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsNotLike(String value) {
            addCriterion("circular.signs not like", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsIn(List<String> values) {
            addCriterion("circular.signs in", values, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsNotIn(List<String> values) {
            addCriterion("circular.signs not in", values, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsBetween(String value1, String value2) {
            addCriterion("circular.signs between", value1, value2, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsNotBetween(String value1, String value2) {
            addCriterion("circular.signs not between", value1, value2, "signs");
            return (Criteria) this;
        }

        public Criteria andSignTypeIsNull() {
            addCriterion("circular.sign_type is null");
            return (Criteria) this;
        }

        public Criteria andSignTypeIsNotNull() {
            addCriterion("circular.sign_type is not null");
            return (Criteria) this;
        }

        public Criteria andSignTypeEqualTo(Integer value) {
            addCriterion("circular.sign_type =", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeNotEqualTo(Integer value) {
            addCriterion("circular.sign_type <>", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeGreaterThan(Integer value) {
            addCriterion("circular.sign_type >", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("circular.sign_type >=", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeLessThan(Integer value) {
            addCriterion("circular.sign_type <", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeLessThanOrEqualTo(Integer value) {
            addCriterion("circular.sign_type <=", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeIn(List<Integer> values) {
            addCriterion("circular.sign_type in", values, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeNotIn(List<Integer> values) {
            addCriterion("circular.sign_type not in", values, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeBetween(Integer value1, Integer value2) {
            addCriterion("circular.sign_type between", value1, value2, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("circular.sign_type not between", value1, value2, "signType");
            return (Criteria) this;
        }

        public Criteria andImagesIsNull() {
            addCriterion("circular.images is null");
            return (Criteria) this;
        }

        public Criteria andImagesIsNotNull() {
            addCriterion("circular.images is not null");
            return (Criteria) this;
        }

        public Criteria andImagesEqualTo(String value) {
            addCriterion("circular.images =", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotEqualTo(String value) {
            addCriterion("circular.images <>", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesGreaterThan(String value) {
            addCriterion("circular.images >", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesGreaterThanOrEqualTo(String value) {
            addCriterion("circular.images >=", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLessThan(String value) {
            addCriterion("circular.images <", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLessThanOrEqualTo(String value) {
            addCriterion("circular.images <=", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLike(String value) {
            addCriterion("circular.images like", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotLike(String value) {
            addCriterion("circular.images not like", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesIn(List<String> values) {
            addCriterion("circular.images in", values, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotIn(List<String> values) {
            addCriterion("circular.images not in", values, "images");
            return (Criteria) this;
        }

        public Criteria andImagesBetween(String value1, String value2) {
            addCriterion("circular.images between", value1, value2, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotBetween(String value1, String value2) {
            addCriterion("circular.images not between", value1, value2, "images");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}